(xfont_has_char): The font has C if C is ASCII and the
authorKenichi Handa <handa@m17n.org>
Tue, 14 Apr 2009 01:26:03 +0000 (01:26 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 14 Apr 2009 01:26:03 +0000 (01:26 +0000)
encoding charset is ascii_compatible.

src/xfont.c

index 6a9a46ec35ef78c2ddf2ae23bcc3d30af4e4cbd3..bae63ac855550051d10ae1cfccc07de58cf3eeb7 100644 (file)
@@ -798,10 +798,13 @@ xfont_has_char (entity, c)
      int c;
 {
   Lisp_Object registry = AREF (entity, FONT_REGISTRY_INDEX);
+  struct charset *encoding;
   struct charset *repertory;
 
-  if (font_registry_charsets (registry, NULL, &repertory) < 0)
+  if (font_registry_charsets (registry, &encoding, &repertory) < 0)
     return -1;
+  if (ASCII_CHAR_P (c) && encoding->ascii_compatible_p)
+    return 1;
   if (! repertory)
     return -1;
   return (ENCODE_CHAR (repertory, c) != CHARSET_INVALID_CODE (repertory));